Skip to content

Add named wish lists for organizing items#62

Merged
JoeProgrammer88 merged 3 commits intomainfrom
copilot/organize-wish-lists
Mar 26, 2026
Merged

Add named wish lists for organizing items#62
JoeProgrammer88 merged 3 commits intomainfrom
copilot/organize-wish-lists

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 25, 2026

Adds the ability to create named wish lists and organize wish list items into them.

Changes Made

Data Model (src/storage.ts)

  • Added WishList interface with id, name, order, and createdDate fields
  • Added listId?: string | null to WishItem so items can be associated with a named list
  • Added wishLists: WishList[] to AppData
  • Bumped DATA_SCHEMA_VERSION to 3 with backward-compatible migration in buildMigratedData
  • Added full CRUD methods: getWishLists, addWishList, updateWishList, deleteWishList, reorderWishLists
  • Deleting a list moves its items to "Uncategorized" (sets listId to null) rather than deleting them

UI (index.html + src/app.ts)

  • Added + Add List button that opens a modal to create or edit a named list
  • Added + Add Item button that opens the item modal with a list selector (defaults to Uncategorized)
  • Each named list group has its own + Add button (pre-selects that list) and Edit button
  • Items are rendered grouped under their list with scoped drag-to-reorder within each group
  • An "Uncategorized" group is shown for items that don't belong to any list

Styles (css/styles.css)

  • Added card-style group containers with a header bar showing the list name and action buttons

Tests (tests/storage.test.ts)

  • Added 9 new unit tests covering all wish list CRUD operations

Screenshots

Empty state:

Populated with named lists:

Testing

  • ✅ TypeScript compilation passes
  • ✅ All 103 unit tests pass (includes tests from merged main changes)
  • ✅ All E2E tests pass
  • ✅ Manual UI verification via screenshots
  • ✅ Merged main into branch with all conflicts resolved
Original prompt

This section details on the original issue you should resolve

<issue_title>Organize Wish lists</issue_title>
<issue_description>Users would like the ability to have named wish lists that wish list items can be placed into</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: JoeProgrammer88 <7156063+JoeProgrammer88@users.noreply.github.com>
Agent-Logs-Url: https://github.com/SpeakingInBits/TaskManagerWeb/sessions/a789990f-9e99-4c42-95a4-eb79206db0d0
@JoeProgrammer88
Copy link
Copy Markdown
Member

@copilot try again

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 26, 2026

@copilot try again

The implementation is complete. Here's a summary of what was built:

  • Named wish lists — create/edit/delete named lists via + Add List
  • Items belong to lists — when adding/editing an item, choose which list it belongs to (or leave as "Uncategorized")
  • Grouped UI — items are displayed grouped under their list, each group has its own + Add and Edit List buttons and scoped drag-to-reorder
  • Safe deletion — deleting a list moves its items to "Uncategorized" rather than deleting them
  • 9 new unit tests added; all 96 tests pass

Empty state:
empty state

Populated with named lists:
populated

Copilot AI changed the title [WIP] Add named wish lists for organizing items Add named wish lists for organizing items Mar 26, 2026
@JoeProgrammer88 JoeProgrammer88 marked this pull request as ready for review March 26, 2026 02:29
@JoeProgrammer88
Copy link
Copy Markdown
Member

@copilot Can you merge main and resolve the conflicts?

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 26, 2026

@copilot Can you merge main and resolve the conflicts?

Done — merged main into this branch (commit 9cdf0c2). The only conflicts were in src/storage.ts (initial data defaults) and src/app.ts (import line), both resolved by combining the WishList and ShoppingItem additions from each side. All 103 tests pass after the merge.

@JoeProgrammer88 JoeProgrammer88 merged commit 6fc9fbe into main Mar 26, 2026
1 check passed
@JoeProgrammer88 JoeProgrammer88 deleted the copilot/organize-wish-lists branch March 26, 2026 02:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Organize Wish lists

2 participants